import pickle #pickle funktionen zur serialisierung von daten  

#--------------------------------------------------------------------
#DatenHandler fuer Daten BasisKlassen
#--------------------------------------------------------------------

class DataHandlerBase(object):
    def __init__(self,fileName):
        self.fileName = fileName


class DataHandlerDescriptionBase(DataHandlerBase):
    def __init__(self,fileName):
         DataHandlerBase.__init__(self,fileName)
         self.ItemList = []
         self.ItemList = pickle.load( open( self.fileName, "rb" ))
    
    
    def Add(self, newItem):
            #Testen ob Veranstaltung mit gleicher Bezeichnung schon vorhanden
            for currentItem in self.ItemList:
                if currentItem.Bezeichner == newItem.Bezeichner:
                    #item vorhanden also description updaten (bezeichner ist key)
                    object = self.GetElement(newItem.Bezeichner)
                    object.Beschreibung = newItem.Beschreibung
                    pickle.dump(self.ItemList ,open( self.fileName, "wb" ))
                    return True

            self.ItemList.append(newItem)
            pickle.dump(self.ItemList ,open( self.fileName, "wb" ))
            return True

    def Remove(self, Bezeichner):
            for currentItem in self.ItemList:
                    if  currentItem.Bezeichner == Bezeichner:
                            self.ItemList.remove(currentItem)
                            pickle.dump(self.ItemList ,open( self.fileName, "wb" ))
                            return True
            return False
    
    def GetElement(self,Bezeichner):
            for currentItem in self.ItemList:
                        if  currentItem.Bezeichner == Bezeichner:
                             return currentItem
            return None